home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll - a kernel to do image sharpening (and blurring)
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- ilWatchedObject : ilKernel
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilCdefs.h>
-
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This class implements a 2D gaussian shaped image sharpening (or blurring
- kernel). The type of sharpening performed is typically called unsharp
- masking, and results from a weighted subtraction of a blurred version of
- the image from the original. The filter weights are detemined by the
- formula:
-
- 2 2 2 2
- -( ( dx + dy ) / (2 * sigma * radius ) )
- e
-
- where:
-
- dx = x distance from center of kernel
- dy = y distance from center of kernel
-
-
- This creates a circularly symmetric, Gaussian shapped kernel. The filter
- weights are then normalized to produce an output that computes:
-
- (1+sharpness)*I - sharpness*G
-
- where I is the original image G is the orignal image with the gausing
- kernel applied.
-
- Here are some example kernels with the default sharpness factor, 0.5, for
- various radii:
-
- -.00002 -.0006 -.0020 -.0006 -.00002
- -.00006 -.0053 -.00006 -.0006 -.0189 -.0581 -.0189 -.0006
- -.0053 1.0215 -.0053 -.0020 -.0581 1.3210 -.0581 -.0020
- -.00006 -.0053 -.00006 -.0006 -.0189 -.0581 -.0189 -.0006
- -.00002 -.0013 -.0020 -.0013 -.00002
-
- rrrraaaaddddiiiiuuuussss ==== 1111 rrrraaaaddddiiiiuuuussss ==== 2222
-
- The default kernel is:
-
- -.0057 -.0419 -.0057
- -.0419 1.1903 -.0419
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- -.0057 -.0419 -.0057
-
- rrrraaaaddddiiiiuuuussss ==== 1111....5555
-
- The kernel weights always sum to one and the clamping attribute is set on
- this kernel so no change in the input range of values will be effected by
- the application of this kernel.
-
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
-
- ilSharpenKernel* ilSharpenKernelCreate(float sharpness=.5,
- float radius.5)
-
- GGGGeeeetttt aaaannnndddd sssseeeetttt sssshhhhaaaarrrrppppeeeennnniiiinnnngggg ppppaaaarrrraaaammmmeeeetttteeeerrrrssss
-
- void ilSharpenKernelSetSharpness(ilSharpenKernel *obj,
- float val)
- void ilSharpenKernelSetRadius(ilSharpenKernel *obj, float val)
- void ilSharpenKernelSetSigma(ilSharpenKernel *obj, float val)
- float ilSharpenKernelGetSharpness(ilSharpenKernel *obj)
- float ilSharpenKernelGetRadius(ilSharpenKernel *obj)
- float ilSharpenKernelGetSigma(ilSharpenKernel *obj)
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll(((())))
-
- ilSharpenKernel* ilSharpenKernelCreate(float sharpness=.5,
- float radius.5)
-
-
- Creates a kernel with the specified _s_h_a_r_p_n_e_s_s and _r_a_d_i_u_s. The
- sharpness typically ranges from -1 for maximum blur, to 0 for no
- effect, to positive values up to about 10 for various degrees of
- sharpening. The radius can be any non-negative value. A radius of
- zero will perform no filtering, while successively larger values
- will filter lower and lower frequencies. The actual kernel size is
- determined by the formula:
-
- width,height = 1 + 2*(int)radius
-
-
- Thus, a radius of 1.5 will create a 3x3 kernel.
-
- ggggeeeettttRRRRaaaaddddiiiiuuuussss(((())))
-
- float ilSharpenKernelGetRadius(ilSharpenKernel *obj)
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- This method returns the current radius of the filter as set by the
- constructor or the last call to sssseeeettttRRRRaaaaddddiiiiuuuussss().
-
- ggggeeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss(((())))
-
- float ilSharpenKernelGetSharpness(ilSharpenKernel *obj)
-
-
- This method returns the current sharpness of the filter as set by
- the constructor or the last call to sssseeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss().
-
- ggggeeeettttSSSSiiiiggggmmmmaaaa(((())))
-
- float ilSharpenKernelGetSigma(ilSharpenKernel *obj)
-
-
- This method returns the sigma value used in generating the kernel
- (see the equation above).
-
- sssseeeettttRRRRaaaaddddiiiiuuuussss(((())))
-
- void ilSharpenKernelSetRadius(ilSharpenKernel *obj, float val)
-
-
- This method sets the radius of the kernel to _v_a_l. The radius can be
- any non-negative value. A radius of zero will perform no filtering,
- while successively larger values will filter lower and lower
- frequencies. The actual kernel size is determined by the formula:
-
- width,height = 1 + 2*(int)radius
-
-
- If any objects are watching this kernel (see iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt(3))
- then they will be notified that the kernel has changed when this
- method is called.
-
- sssseeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss(((())))
-
- void ilSharpenKernelSetSharpness(ilSharpenKernel *obj,
- float val)
-
-
- This method sets the sharpness of the kernel to _v_a_l. The effect of
- the sharpness value falls into three ranges: positve, between 0 and
- -1, and less than -1. As the value increases from zero the result
- is a progressively more sharpended image, typically values from 0-10
- are used. Values larger than about 2 produce a fairly extreme
- sharpening effect. As the value decreases from zero going to -1 the
- result is a progressively more blurry image. Values less than -1
- produce a weird effect that becomes progressively sharper; this
- range is not normally used.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- If any objects are watching this kernel (see iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt(3))
- then they will be notified that the kernel has changed when this
- method is called.
-
- sssseeeettttSSSSiiiiggggmmmmaaaa(((())))
-
- void ilSharpenKernelSetSigma(ilSharpenKernel *obj, float val)
-
-
- This method sets the sigma value used in generating the kernel (see
- the equation above). The default value is 1/3. The useful range is
- from zero to one.
-
- IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllKKKKeeeerrrrnnnneeeellll
- ilKernelCalcGain(), ilKernelCopy(), ilKernelGetData(),
- ilKernelGetDataType(), ilKernelGetElement(), ilKernelGetKernelType(),
- ilKernelGetOrigin(), ilKernelGetSize(), ilKernelGetXsize(),
- ilKernelGetYsize(), ilKernelGetZsize(), ilKernelIsClampSet(),
- ilKernelIsEquivalent(), ilKernelScale(), ilKernelSetClamp(),
- ilKernelSetData(), ilKernelSetElement(), ilKernelSetOrigin()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt
- addWatchCallback(), doWatchCallbacks(), removeWatchCallback()
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ilWatchedObject, ilKernel, ilSepShapenKernel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-